Methods of generating, processing and reproducing models of two-dimensional and three-dimensional objects on a display are typically performed in a computer by means of an appropriate program. The object of these methods is to organize the exchange of information between the computer and the user through the various connected units so that the use of the computer is facilitated. Such methods together with the programs and peripherals required for their performance are known as a user-interface.
One of the objects of a user-interface is to display to the user in a clear and conveniently arranged form an object which is represented as an abstract model in the computer. Another important object is to provide the user with facilities for inputting commands which intentionally generate and modify the models in the computer. The form in which the commands can be input by the user must as far as possible be in keeping with the experience and spatial imagination of the user. The inputting of the commands should also be accomplished as quickly and easily as possible so that the user is not distracted by complex inputting operations, such as occur, for example, when inputting a fairly long text by means of a keyboard or the like.
Known methods of generating and processing models of two-dimensional or three-dimensional objects meet these requirements by generating the abstract representation of the objects in the computer by operations comparable to the handling of the physical objects by man. For example, geometric operations coincide with the movements of physical objects in space and an operation such as connecting two elements corresponds to an action such as pasting two elements together.
The inputting of commands for performing such operations is facilitated by the use of a pointer or cursor which can be moved over the display by means of a suitable inputting device such as a mouse, a joystick, or the like. In this way it is possible for the operands to be shown directly on the display. The operands are the elements with which the command must be executed. The pointer can also be used to indicate the parameters for the geometric commands, such as the distance by which an elements is to be moved over the display or the angle through which the element is to be rotated, by drawing the associated factor or angle on the display by means of the pointer. The pointer can also be used to indicate the type of command to be executed. Also, a menu can be shown on the display which contains the commands from which a choice can be made. Typically the commands are shown by words.
In the known methods, the objects are usually shown on the display in the form of "wire models" wherein the sides of the object are reproduced by lines. A single object is usually represented by a single image involving either a perspective view, a projection, a surface view, a top view or the like, or a cross-section. To increase the surveyability of the image, it is also known to mark concealed lines by changes in color or brightness or to reproduce the different surfaces of the object in different colors or grey levels.
Some examples of known methods are described in "Integrated Graphics Enter the Picture to Aid Expert Systems," Electronic Design. Vol. 33, No. 11 (May 16, 1985) at pp. 50-52; "A Multilevel Graphics System Based on Top-Down Methodology," Computers & Graphics, Vol. 6, No. 3 (1982) at pp. 97-100; and "A Geometric Modeling System for Automated Mechanical Assembly," IBM Journal of Research and Development. Vol. 24, No. 1 (Jan. 1980) at pp. 64-74.
Nevertheless, the surveyability of the image using the known user-interfaces is inadequate for showing two-dimensional images of complicated three-dimensional objects. In the case of objects having a complicated construction or consisting of a large number of different elements, the structure of the object usually cannot be clearly defined by reference to one single two-dimensional image. That means that it is impossible to determine unambiguously which elements are interconnected, which elements are adjacent to one another, or which elements are not directly interconnected. Although it is possible to resolve such problems by viewing the image from a different angle, this requires a relatively considerable amount of computer time and even then, errors in the interpretation of these images cannot be precluded.
The lack of surveyability of the image is particularly disadvantageous if the object has to be changed during further developments of the design. The modifications made by the designer or constructor usually comprise changes in the dimensions of the elements of the object or changes in the position of the individual elements with respect to the other elements. When such modifications are made, the dimensions and/or the positions of adjacent elements and elements connected to the element undergoing modification must be adjusted so that the model of the object always remains consistent. To enable these adjustments to be carried out correctly, the user must know the physical structure of the object. In such cases the user's or designer's spatial imagination is subject to considerable demands.
It is often very difficult or even impossible to indicate exactly with the pointer the individual elements on which certain operations have to be carried out. If the same operation must be executed simultaneously on a plurality of elements, then all the lines or surfaces that need to be changed by that operation must be indicated one by one. Thus, the modification of the parts of the model and the associated adjustment of the other parts is laborious and time-consuming with the known user-interfaces and frequently leads to errors. This disadvantage is particularly felt if the modifications have to be carried out by means of a CAD system. In the case of the new development of components or the further development of existing parts, for example, it is possible only with very great difficulty to determine any design errors by reference to a single two-dimensional image reproduction. Thus, these errors are not noticed until a physical object has been made using the data stored in the CAD system.
Although, in principle, it is possible to implement programs in a CAD system which trace such errors at an early stage, this too requires considerable programming effort. Also, the computer time is substantially increased so that a rapid dialogue between the computer and the user is prevented.
These difficulties could be obviated with a user-interface wherein the exchange of data between the computer and the user is carried out at a higher abstraction level which takes greater account of the physical structure of the object but nevertheless has a less narrow relationship to the geometric basic elements visible on the screen. However, the disadvantage of these systems is that they are not adequately adapted to the methods of the designer or technical draftsman and therefore, the use of these systems is difficult for the traditionally trained designer to learn.